package com.docker.drug.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.docker.common.annotation.Excel;
import com.docker.common.core.domain.BaseEntity;

/**
 * 药品入库对象 doctor_warehousing
 * 
 * @author lin
 * @date 2025-04-10
 */
public class DoctorWarehousing extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    @Excel(name = "序号")
    private Long id;

    /** 入库单号 */
    @Excel(name = "入库单号")
    private String warehousingOrderId;

    /** 入库日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "入库日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date warehousingDate;

    /** 入库人员 */
    @Excel(name = "入库人员")
    private String warehousingStaff;

    /** 入库类型 */
    @Excel(name = "入库类型")
    private String warehousingType;

    /** 供应商 */
    @Excel(name = "供应商")
    private String supplier;

    /** 制单日期（创建时间） */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "制单日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date documentCreationDate;

    /** 制单人员 */
    @Excel(name = "制单人员")
    private String documentCreationStaff;

    /** 备注 */
    private String remarks;

    /** 采购金额（总） */
    @Excel(name = "采购金额", readConverterExp = "总=")
    private Double totalPurchaseAmount;

    /** 零售金额（总） */
    @Excel(name = "零售金额", readConverterExp = "总=")
    private Double totalRetailAmount;

    /** 审核状态（0未审核、1审核通过、2审核为通过） */
    @Excel(name = "审核状态", readConverterExp = "0=未审核、1审核通过、2审核为通过")
    private String auditStatus;

    /** 审核日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date auditDate;

    /** 审核人员 */
    private String auditStaff;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setWarehousingOrderId(String warehousingOrderId) 
    {
        this.warehousingOrderId = warehousingOrderId;
    }

    public String getWarehousingOrderId() 
    {
        return warehousingOrderId;
    }

    public void setWarehousingDate(Date warehousingDate) 
    {
        this.warehousingDate = warehousingDate;
    }

    public Date getWarehousingDate() 
    {
        return warehousingDate;
    }

    public void setWarehousingStaff(String warehousingStaff) 
    {
        this.warehousingStaff = warehousingStaff;
    }

    public String getWarehousingStaff() 
    {
        return warehousingStaff;
    }

    public void setWarehousingType(String warehousingType) 
    {
        this.warehousingType = warehousingType;
    }

    public String getWarehousingType() 
    {
        return warehousingType;
    }

    public void setSupplier(String supplier) 
    {
        this.supplier = supplier;
    }

    public String getSupplier() 
    {
        return supplier;
    }

    public void setDocumentCreationDate(Date documentCreationDate) 
    {
        this.documentCreationDate = documentCreationDate;
    }

    public Date getDocumentCreationDate() 
    {
        return documentCreationDate;
    }

    public void setDocumentCreationStaff(String documentCreationStaff) 
    {
        this.documentCreationStaff = documentCreationStaff;
    }

    public String getDocumentCreationStaff() 
    {
        return documentCreationStaff;
    }

    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    public void setTotalPurchaseAmount(Double totalPurchaseAmount)
    {
        this.totalPurchaseAmount = totalPurchaseAmount;
    }

    public Double getTotalPurchaseAmount()
    {
        return totalPurchaseAmount;
    }

    public void setTotalRetailAmount(Double totalRetailAmount)
    {
        this.totalRetailAmount = totalRetailAmount;
    }

    public Double getTotalRetailAmount()
    {
        return totalRetailAmount;
    }

    public void setAuditStatus(String auditStatus) 
    {
        this.auditStatus = auditStatus;
    }

    public String getAuditStatus() 
    {
        return auditStatus;
    }

    public void setAuditDate(Date auditDate) 
    {
        this.auditDate = auditDate;
    }

    public Date getAuditDate() 
    {
        return auditDate;
    }

    public void setAuditStaff(String auditStaff) 
    {
        this.auditStaff = auditStaff;
    }

    public String getAuditStaff() 
    {
        return auditStaff;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("warehousingOrderId", getWarehousingOrderId())
            .append("warehousingDate", getWarehousingDate())
            .append("warehousingStaff", getWarehousingStaff())
            .append("warehousingType", getWarehousingType())
            .append("supplier", getSupplier())
            .append("documentCreationDate", getDocumentCreationDate())
            .append("documentCreationStaff", getDocumentCreationStaff())
            .append("remarks", getRemarks())
            .append("totalPurchaseAmount", getTotalPurchaseAmount())
            .append("totalRetailAmount", getTotalRetailAmount())
            .append("auditStatus", getAuditStatus())
            .append("auditDate", getAuditDate())
            .append("auditStaff", getAuditStaff())
            .toString();
    }
}
